<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ConsultaWS
 *
 * @author josem
 */
//require_once('lib/nusoap.php');

class ConsultaWS extends GenericWS {

   var $opcionDao; 
    
   public function __construct() {
       $this->opcionDao = DAOFactory::getOpcionDao();
       $LOLIMSA_WSDL = $this->opcionDao->obtenerOpcionPorId(Constantes::$OPCION_WSDL); 
       parent::__construct($LOLIMSA_WSDL->valor);   
   }
    
   public function requestToken(){            
       $LOLIMSA_USER = $this->opcionDao->obtenerOpcionPorId(Constantes::$OPCION_USUARIO_LOLCLI); 
       $LOLIMSA_PASS = $this->opcionDao->obtenerOpcionPorId(Constantes::$OPCION_PASSWORD_LOLCLI);            
       $aParametros = array("ls_xml" => "<RequestToken><Username>".$LOLIMSA_USER->valor."</Username><Password>".$LOLIMSA_PASS->valor."</Password></RequestToken>");              
       $aRespuesta = $this->soapClient->call(Constantes::$LOLIMSA_WSDL_METHOD_GET_REQUESTTOKEN, $aParametros);
       $res= $this->resultado($aRespuesta);
       return $res["RequestTokenResult"];
   }
   
   public function GetPartnerData($token,$codEstablecimiento,$codServicio,$codMedico,$consecutivo){
       $aParametros = array("ls_xml" =>  "<GetPartnerData><Token>".$token."</Token><Message>MSH|ZMS^Z01|230|P|2.6
           ZMS|".$consecutivo."|".$codEstablecimiento."|".$codServicio."|".$codMedico."</Message> </GetPartnerData>");
       
       $aRespuesta = $this->soapClient->call(Constantes::$LOLIMSA_WSDL_METHOD_GET_PARTNERDATA, $aParametros);
       $res= $this->resultado($aRespuesta);
       return $res["GetPartnerDataResult"]; 
   }
   
   public function GetScheduleDetail($token,$codEstablecimiento,$codServicio,$codMedico,$fecha,$consecutivo){
       $aParametros = array("ls_xml" =>  "<GetScheduleDetail><Token>".$token."</Token><Message>MSH|ZMS^Z02|335|P|2.6
           ZMS|".$consecutivo."|".$codEstablecimiento."|".$codServicio."|".$codMedico."|".$fecha."</Message></GetScheduleDetail>");
       
       $aRespuesta = $this->soapClient->call(Constantes::$LOLIMSA_WSDL_METHOD_GET_SCHEDULEDETAIL, $aParametros);
       $res= $this->resultado($aRespuesta);
       return $res["GetScheduleDetailResult"]; 
   }
   
   public function AppointmentInsert($token,$segmentoSCH,$segmentoPID,$segmentoRGS,$segmentoAIS,$segmentoAIL,$segmentoAIP){
       LogUtil::info("class ConsultaWS","AppointmentInsert al establecimiento: ".$segmentoAIL->codigoEstablecimiento);
       LogUtil::debug("class ConsultaWS","<AppointmentInsert>
            <Token>".$token."</Token>
            <Message>MSH|SIU^S12|383|P|2.6
            SCH||||||".$segmentoSCH->idEvento."^".$segmentoSCH->descripcionEvento."||||||||||".$segmentoSCH->personaContacto."||||".$segmentoSCH->personaIngresoInf."
            PID|".$segmentoPID->consecutivo."||".$segmentoPID->nroHistoriaPaciente."||".$segmentoPID->nombrePaciente."|||".$segmentoPID->sexoPaciente."|||".$segmentoPID->direcDomiciliaria."||".$segmentoPID->nroTelefono."
            RGS|".$segmentoRGS->consecutivo."|".$segmentoRGS->codigoAccion."
            AIS|".$segmentoAIS->consecutivo."|".$segmentoAIS->codigoAccion."|".$segmentoAIS->codigoServMedico."|".$segmentoAIS->fechaHoraCita."
            AIL|".$segmentoAIL->consecutivo."|".$segmentoAIL->codigoAccion."|".$segmentoAIL->codigoEstablecimiento."
            AIP|".$segmentoAIP->consecutivo."||".$segmentoAIP->codigoMedico."</Message>
            </AppointmentInsert>");
       $aParametros = array("ls_xml" =>  
           "<AppointmentInsert>
<Token>".$token."</Token>
<Message>MSH|SIU^S12|383|P|2.6
SCH||||||".$segmentoSCH->idEvento."^".$segmentoSCH->descripcionEvento."||||||||||".$segmentoSCH->personaContacto."||||".$segmentoSCH->personaIngresoInf."
PID|".$segmentoPID->consecutivo."||".$segmentoPID->nroHistoriaPaciente."||".$segmentoPID->nombrePaciente."|||".$segmentoPID->sexoPaciente."|||".$segmentoPID->direcDomiciliaria."||".$segmentoPID->nroTelefono."
RGS|".$segmentoRGS->consecutivo."|".$segmentoRGS->codigoAccion."
AIS|".$segmentoAIS->consecutivo."|".$segmentoAIS->codigoAccion."|".$segmentoAIS->codigoServMedico."|".$segmentoAIS->fechaHoraCita."
AIL|".$segmentoAIL->consecutivo."|".$segmentoAIL->codigoAccion."|".$segmentoAIL->codigoEstablecimiento."
AIP|".$segmentoAIP->consecutivo."||".$segmentoAIP->codigoMedico."</Message>
            </AppointmentInsert>");
       
       $aRespuesta = $this->soapClient->call(Constantes::$LOLIMSA_WSDL_METHOD_INSERT_APPOINTMENT, $aParametros);
       $res= $this->resultado($aRespuesta);
       return $res["AppointmentInsertResult"]; 
   }
}

?>
